import request from '@/config/axios'

// 软件文件版本 VO
export interface SoftwarFileVersionVO {
  id: number // 版本ID
  fileId: number // 文件ID
  softwareId: number // 软件ID
  fileName: string // 文件名称
  fileType: string // 文件类型
  version: string // 版本号
  filePath: string // 文件路径
  fileSize: number // 文件大小
  description: string // 版本描述
  updateTime: string // 更新时间
  updateBy: string // 更新人
}

// 软件文件版本 API
export const SoftwarFileVersionApi = {
  // 查询软件文件版本分页
  getSoftwarFileVersionPage: async (params: any) => {
    return await request.get({ url: `/compo/softwar-file-version/page`, params })
  },

  // 查询软件的所有文件版本历史
  getSoftwareVersionHistory: async (params: {
    softwareId: number, // 软件ID
    fileType?: string, // 文件类型
    fileName?: string, // 文件名称
    pageNo?: number,
    pageSize?: number
  }) => {
    return await request.get({ url: `/compo/softwar-file-version/software-history`, params })
  },

  // 查询软件文件版本详情
  getSoftwarFileVersion: async (id: number) => {
    return await request.get({ url: `/compo/softwar-file-version/get?id=` + id })
  },

  // 新增软件文件版本
  createSoftwarFileVersion: async (data: SoftwarFileVersionVO) => {
    return await request.post({ url: `/compo/softwar-file-version/create`, data })
  },

  // 修改软件文件版本
  updateSoftwarFileVersion: async (data: SoftwarFileVersionVO) => {
    return await request.put({ url: `/compo/softwar-file-version/update`, data })
  },

  // 删除软件文件版本
  deleteSoftwarFileVersion: async (id: number) => {
    return await request.delete({ url: `/compo/softwar-file-version/delete?id=` + id })
  },

  // 导出软件文件版本 Excel
  exportSoftwarFileVersion: async (params) => {
    return await request.download({ url: `/compo/softwar-file-version/export-excel`, params })
  },
}
